package part10_代理模式_调用目标对象.p01_静态代理;

/**代理对象，静态代理
 * @ClassName: TeacherDaoProxy
 * @Author: AllenSun
 * @Date: 2020/3/3 20:42
 */
public class TeacherDaoProxy implements ITeacherDao {

    //要代理的目标对象，通过接口来聚合
    private ITeacherDao target;

    //构造器
    public TeacherDaoProxy(ITeacherDao target) {
        this.target = target;
    }

    @Override
    public void teach() {
        //1-额外的，共通的代码写在代理类里
        System.out.println("开始代理...");
        //2-特有的代码写在被代理对象里
        target.teach();
        //3-额外的，共通的代码写在代理类里
        System.out.println("结束提交...");

    }
}
